package com.hyper_yang.javase.collections;

import java.util.ArrayList;
import java.util.Collection;


public class TryCollection {
/*
    public boolean add(E e)                     添加
    public void clear()                         清空
    public boolean remove(E e)                  删除
    public boolean contains(Object object)     判断是否包含
    public boolean isEmpty()                   判断是否为空
    public int size()                          集合大小

    ps: collection 是一个接口，只能创建他的实践类对象来实践其方法
*/
    public static void main(String[] args){
        Collection<String> collection = new ArrayList<>();
        // add
        boolean flag = true;
        flag = collection.add("hello"); // list允许重复，所以 arraylist、linkedlist、vector 在重复添加已经存在的元素时 flag = true
        flag = collection.add("world"); // set不允许重复，所以 hashset、linkedhashset、treeset 在重复添加已经存在的元素时 flag = false

        // clear
//        collection.clear();

        // remove
//        collection.remove(1)  XXX   collection 里面定义共性方法，此时不能通过索引删除，只能通过元素的对象进行删除
        flag = collection.remove("hello"); // flag == false: 删除不存在的元素

        // contains
        // 底层调用equals()方法，所以如果集合中存在自定义对象，想通过contains()来判断存在的话，要重写equals()
        flag = collection.contains("world");  // 细节见 collection-contains

        // isEmpty
        flag = collection.isEmpty();

        // size
        int size = collection.size();
        System.out.println("size: " + size);

        for(String s : collection){
            System.out.print(s);
        }
    }
}
